Skip to content
created by Aha00aAha00a at 2026-05-25
last modified by Aha00aAha00a at 2026-09-15
revision: 4

Dev SiteAdmin

SiteAdmin 기능 구현을 완료했다.

1. 구현 결과

  • SiteAdmin 테이블을 추가했다. (site, user, dateInserted, (site, user) 복합 PK, Site/User FK)
  • SiteAdmin 모델/DAO를 추가했다. (exists, selectBySite, selectByUser, insert, delete)
  • AdminLogic.isSiteAdmin을 추가했다. 전체 관리자(AdminLogic.SuperAdminUserSeq)는 모든 사이트의 SiteAdmin으로 취급한다. 그 판정이 무엇이고 왜 role 테이블이 아닌지는 AccessControl 참고.
  • 사이트 범위 Admin API는 SiteAdmin도 접근할 수 있도록 isSiteAdmin 기준으로 정리했다. 단 SiteAdmin 목록 관리(/api/Admin/Site/:seq/Admins, withAdminSite)와 사이트 정보 수정(PUT /api/Admin/Site/:seq)은 전체 관리자만 쓸 수 있다.
  • SiteAdmin 관리 API와 UI를 추가했다. (/Admin/Site/:seq/Admins)
  • SiteAdmin 대시보드는 담당 사이트 목록만 조회하도록 수정했다.
  • /Admin/Site/:seq/... 직접 접근은 URL의 site seq 기준으로 권한을 검사하도록 보강했다.

2. 검증 결과

  • npm.cmd run admin:build 성공
  • sbt compile 성공
  • sbt "testOnly com.aha00a.models.tables.SiteAdminSpec com.aha00a.logics.AdminLogicSpec com.aha00a.controllers.ApiSiteAdminSpec" 성공
  • 관련 테스트 통과 (2026-05-25 에 21개였다. 그 뒤 ApiSiteAdminSpec 에 SiteTheme 조회와 2026-09-15 의 캐시 삭제·Vim 캐시 삭제 권한 테스트가 더해져, 2026-09-15 에 같은 명령은 31개를 돈다 — SiteAdminSpec 10 + AdminLogicSpec 3 + ApiSiteAdminSpec 18)

3. See Also

3.2. Similar Pages

Similar pages by cosine similarity. Words after page name are term frequency.

  • Same Wiki
    • 70.86% Dev AdminUIRoleMenu site(27:14), admin(25:14), api(5:8), seq(6:5), user(5:3), 사이트(3:2), 전체(2:2), 담당(1:3), admins(2:1), select(2:1)
    • 53.89% Dev ApiResponse site(27:36), admin(25:33), api(5:42), seq(6:9), spec(7:3), access(1:9), with(1:7), 같은(1:7), logic(4:3), 성공(3:3)
    • 48.31% Dev SisterWiki site(27:51), admin(25:1), 같은(1:8), seq(6:2), api(5:1), select(2:4), logic(4:1), dev(1:3), 20260915(2:1), 결과(2:1)
    • 47.16% Dev ApiControllers admin(25:12), site(27:9), api(5:24), seq(6:3), user(5:3), 사이트(3:4), 캐시(2:4), with(1:4), 20260915(2:2), 관리(2:2)
    • 33.45% MacroSiteName site(27:3), 사이트의(1:1)
    • 32.29% Dev UserEmail site(27:10), user(5:30), admin(25:5), seq(6:3), 같은(1:5), 추가했다(4:1), 권한(1:4), 기준으로(2:2), 20260915(2:1), 결과(2:1)
    • 31.75% Dev Cache site(27:35), admin(25:8), 캐시(2:29), seq(6:17), api(5:12), 삭제(1:16), 사이트(3:10), logics(1:10), user(5:4), dev(1:6)
  • Sister Wikis

3.3. Adjacent Pages

Control
≤ 32
all
1.0x
1.0x
80
-120
ON
Metrics
Nodes(visible/total)0/0
Links(visible/total)0/0
Avg degree0.00
Depth coverage0
Queue(fetch/graph)0 / 0
Zoom(scale)1.00x
Ctrl/⌘ + Scroll: Zoom
Root 1-hop 2-hop+